<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GtkScale: GTK+ 3 Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="GTK+ 3 Reference Manual">
<link rel="up" href="NumericEntry.html" title="Numeric and Text Data Entry">
<link rel="prev" href="GtkEntryCompletion.html" title="GtkEntryCompletion">
<link rel="next" href="GtkSpinButton.html" title="GtkSpinButton">
<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#GtkScale.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                  <a href="#GtkScale.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
                  <a href="#GtkScale.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties">  <span class="dim">|</span> 
                  <a href="#GtkScale.properties" class="shortcut">Properties</a></span><span id="nav_style_properties">  <span class="dim">|</span> 
                  <a href="#GtkScale.style-properties" class="shortcut">Style Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
                  <a href="#GtkScale.signals" class="shortcut">Signals</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="NumericEntry.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="GtkEntryCompletion.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="GtkSpinButton.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="GtkScale"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="GtkScale.top_of_page"></a>GtkScale</span></h2>
<p>GtkScale — A slider widget for selecting a value from a range</p>
</td>
<td class="gallery_image" valign="top" align="right"><img src="scales.png"></td>
</tr></table></div>
<div class="refsect1">
<a name="GtkScale.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_proto_type">
<col class="functions_proto_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> *
</td>
<td class="function_name">
<a class="link" href="GtkScale.html#gtk-scale-new" title="gtk_scale_new ()">gtk_scale_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> *
</td>
<td class="function_name">
<a class="link" href="GtkScale.html#gtk-scale-new-with-range" title="gtk_scale_new_with_range ()">gtk_scale_new_with_range</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkScale.html#gtk-scale-set-digits" title="gtk_scale_set_digits ()">gtk_scale_set_digits</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkScale.html#gtk-scale-set-draw-value" title="gtk_scale_set_draw_value ()">gtk_scale_set_draw_value</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkScale.html#gtk-scale-set-has-origin" title="gtk_scale_set_has_origin ()">gtk_scale_set_has_origin</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkScale.html#gtk-scale-set-value-pos" title="gtk_scale_set_value_pos ()">gtk_scale_set_value_pos</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gint</span>
</td>
<td class="function_name">
<a class="link" href="GtkScale.html#gtk-scale-get-digits" title="gtk_scale_get_digits ()">gtk_scale_get_digits</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkScale.html#gtk-scale-get-draw-value" title="gtk_scale_get_draw_value ()">gtk_scale_get_draw_value</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkScale.html#gtk-scale-get-has-origin" title="gtk_scale_get_has_origin ()">gtk_scale_get_has_origin</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="gtk3-Standard-Enumerations.html#GtkPositionType" title="enum GtkPositionType"><span class="returnvalue">GtkPositionType</span></a>
</td>
<td class="function_name">
<a class="link" href="GtkScale.html#gtk-scale-get-value-pos" title="gtk_scale_get_value_pos ()">gtk_scale_get_value_pos</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">PangoLayout</span> *
</td>
<td class="function_name">
<a class="link" href="GtkScale.html#gtk-scale-get-layout" title="gtk_scale_get_layout ()">gtk_scale_get_layout</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkScale.html#gtk-scale-get-layout-offsets" title="gtk_scale_get_layout_offsets ()">gtk_scale_get_layout_offsets</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkScale.html#gtk-scale-add-mark" title="gtk_scale_add_mark ()">gtk_scale_add_mark</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkScale.html#gtk-scale-clear-marks" title="gtk_scale_clear_marks ()">gtk_scale_clear_marks</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkScale.properties"></a><h2>Properties</h2>
<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
<col width="200px" class="properties_flags">
</colgroup>
<tbody>
<tr>
<td class="property_type"><span class="type">int</span></td>
<td class="property_name"><a class="link" href="GtkScale.html#GtkScale--digits" title="The “digits” property">digits</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><span class="type">gboolean</span></td>
<td class="property_name"><a class="link" href="GtkScale.html#GtkScale--draw-value" title="The “draw-value” property">draw-value</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><span class="type">gboolean</span></td>
<td class="property_name"><a class="link" href="GtkScale.html#GtkScale--has-origin" title="The “has-origin” property">has-origin</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a class="link" href="gtk3-Standard-Enumerations.html#GtkPositionType" title="enum GtkPositionType"><span class="type">GtkPositionType</span></a></td>
<td class="property_name"><a class="link" href="GtkScale.html#GtkScale--value-pos" title="The “value-pos” property">value-pos</a></td>
<td class="property_flags">Read / Write</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkScale.style-properties"></a><h2>Style Properties</h2>
<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="style_properties_type">
<col width="300px" class="style_properties_name">
<col width="200px" class="style_properties_flags">
</colgroup>
<tbody>
<tr>
<td class="property_type"><span class="type">int</span></td>
<td class="property_name"><a class="link" href="GtkScale.html#GtkScale--s-slider-length" title="The “slider-length” style property">slider-length</a></td>
<td class="property_flags">Read</td>
</tr>
<tr>
<td class="property_type"><span class="type">int</span></td>
<td class="property_name"><a class="link" href="GtkScale.html#GtkScale--s-value-spacing" title="The “value-spacing” style property">value-spacing</a></td>
<td class="property_flags">Read</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkScale.signals"></a><h2>Signals</h2>
<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="signal_proto_type">
<col width="300px" class="signal_proto_name">
<col width="200px" class="signal_proto_flags">
</colgroup>
<tbody><tr>
<td class="signal_type">
<span class="returnvalue">char</span>*</td>
<td class="signal_name"><a class="link" href="GtkScale.html#GtkScale-format-value" title="The “format-value” signal">format-value</a></td>
<td class="signal_flags">Run Last</td>
</tr></tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkScale.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="other_proto_type">
<col class="other_proto_name">
</colgroup>
<tbody><tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="GtkScale.html#GtkScale-struct" title="struct GtkScale">GtkScale</a></td>
</tr></tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkScale.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen">    GObject
    <span class="lineart">╰──</span> GInitiallyUnowned
        <span class="lineart">╰──</span> <a class="link" href="GtkWidget.html" title="GtkWidget">GtkWidget</a>
            <span class="lineart">╰──</span> <a class="link" href="GtkRange.html" title="GtkRange">GtkRange</a>
                <span class="lineart">╰──</span> GtkScale
                    <span class="lineart">├──</span> <a class="link" href="GtkHScale.html" title="GtkHScale">GtkHScale</a>
                    <span class="lineart">╰──</span> <a class="link" href="GtkVScale.html" title="GtkVScale">GtkVScale</a>
</pre>
</div>
<div class="refsect1">
<a name="GtkScale.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
<p>
GtkScale implements
 AtkImplementorIface,  <a class="link" href="GtkBuildable.html" title="GtkBuildable">GtkBuildable</a> and  <a class="link" href="gtk3-Orientable.html#GtkOrientable">GtkOrientable</a>.</p>
</div>
<div class="refsect1">
<a name="GtkScale.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;gtk/gtk.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="GtkScale.description"></a><h2>Description</h2>
<p>A GtkScale is a slider control used to select a numeric value. 
To use it, you’ll probably want to investigate the methods on
its base class, <a class="link" href="GtkRange.html" title="GtkRange"><span class="type">GtkRange</span></a>, in addition to the methods for GtkScale itself.
To set the value of a scale, you would normally use <a class="link" href="GtkRange.html#gtk-range-set-value" title="gtk_range_set_value ()"><code class="function">gtk_range_set_value()</code></a>.
To detect changes to the value, you would normally use the
<a class="link" href="GtkRange.html#GtkRange-value-changed" title="The “value-changed” signal"><span class="type">“value-changed”</span></a> signal.</p>
<p>Note that using the same upper and lower bounds for the <a class="link" href="GtkScale.html" title="GtkScale"><span class="type">GtkScale</span></a> (through
the <a class="link" href="GtkRange.html" title="GtkRange"><span class="type">GtkRange</span></a> methods) will hide the slider itself. This is useful for
applications that want to show an undeterminate value on the scale, without
changing the layout of the application (such as movie or music players).</p>
<div class="refsect2">
<a name="id-1.3.10.5.11.4"></a><h3>GtkScale as GtkBuildable</h3>
<p>GtkScale supports a custom &lt;marks&gt; element, which can contain multiple
&lt;mark&gt; elements. The “value” and “position” attributes have the same
meaning as <a class="link" href="GtkScale.html#gtk-scale-add-mark" title="gtk_scale_add_mark ()"><code class="function">gtk_scale_add_mark()</code></a> parameters of the same name. If the
element is not empty, its content is taken as the markup to show at
the mark. It can be translated with the usual ”translatable” and
“context” attributes.</p>
</div>
<hr>
<div class="refsect2">
<a name="id-1.3.10.5.11.5"></a><h3>CSS nodes</h3>
<div class="informalexample">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="n">scale</span><span class="p">[.</span><span class="n">fine</span><span class="o">-</span><span class="n">tune</span><span class="p">][.</span><span class="n">marks</span><span class="o">-</span><span class="n">before</span><span class="p">][.</span><span class="n">marks</span><span class="o">-</span><span class="n">after</span><span class="p">]</span>
<span class="err">├──</span> <span class="n">marks</span><span class="p">.</span><span class="n">top</span>
<span class="err">│</span>   <span class="err">├──</span> <span class="n">mark</span>
<span class="err">│</span>   <span class="err">┊</span>    <span class="err">├──</span> <span class="p">[</span><span class="n">label</span><span class="p">]</span>
<span class="err">│</span>   <span class="err">┊</span>    <span class="err">╰──</span> <span class="n">indicator</span>
<span class="err">┊</span>   <span class="err">┊</span>
<span class="err">│</span>   <span class="err">╰──</span> <span class="n">mark</span>
<span class="err">├──</span> <span class="p">[</span><span class="n">value</span><span class="p">]</span>
<span class="err">├──</span> <span class="n">contents</span>
<span class="err">│</span>   <span class="err">╰──</span> <span class="n">trough</span>
<span class="err">│</span>       <span class="err">├──</span> <span class="n">slider</span>
<span class="err">│</span>       <span class="err">├──</span> <span class="p">[</span><span class="n">highlight</span><span class="p">]</span>
<span class="err">│</span>       <span class="err">╰──</span> <span class="p">[</span><span class="n">fill</span><span class="p">]</span>
<span class="err">╰──</span> <span class="n">marks</span><span class="p">.</span><span class="n">bottom</span>
    <span class="err">├──</span> <span class="n">mark</span>
    <span class="err">┊</span>    <span class="err">├──</span> <span class="n">indicator</span>
    <span class="err">┊</span>    <span class="err">╰──</span> <span class="p">[</span><span class="n">label</span><span class="p">]</span>
    <span class="err">╰──</span> <span class="n">mark</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

<p></p>
<p>GtkScale has a main CSS node with name scale and a subnode for its contents,
with subnodes named trough and slider.</p>
<p>The main node gets the style class .fine-tune added when the scale is in
'fine-tuning' mode.</p>
<p>If the scale has an origin (see <a class="link" href="GtkScale.html#gtk-scale-set-has-origin" title="gtk_scale_set_has_origin ()"><code class="function">gtk_scale_set_has_origin()</code></a>), there is a
subnode with name highlight below the trough node that is used for rendering
the highlighted part of the trough.</p>
<p>If the scale is showing a fill level (see <a class="link" href="GtkRange.html#gtk-range-set-show-fill-level" title="gtk_range_set_show_fill_level ()"><code class="function">gtk_range_set_show_fill_level()</code></a>),
there is a subnode with name fill below the trough node that is used for
rendering the filled in part of the trough.</p>
<p>If marks are present, there is a marks subnode before or after the contents
node, below which each mark gets a node with name mark. The marks nodes get
either the .top or .bottom style class.</p>
<p>The mark node has a subnode named indicator. If the mark has text, it also
has a subnode named label. When the mark is either above or left of the
scale, the label subnode is the first when present. Otherwise, the indicator
subnode is the first.</p>
<p>The main CSS node gets the 'marks-before' and/or 'marks-after' style classes
added depending on what marks are present.</p>
<p>If the scale is displaying the value (see <a class="link" href="GtkScale.html#GtkScale--draw-value" title="The “draw-value” property"><span class="type">“draw-value”</span></a>), there is
subnode with name value.</p>
</div>
</div>
<div class="refsect1">
<a name="GtkScale.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="gtk-scale-new"></a><h3>gtk_scale_new ()</h3>
<pre class="programlisting"><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> *
gtk_scale_new (<em class="parameter"><code><a class="link" href="gtk3-Standard-Enumerations.html#GtkOrientation" title="enum GtkOrientation"><span class="type">GtkOrientation</span></a> orientation</code></em>,
               <em class="parameter"><code><a class="link" href="GtkAdjustment.html" title="GtkAdjustment"><span class="type">GtkAdjustment</span></a> *adjustment</code></em>);</pre>
<p>Creates a new <a class="link" href="GtkScale.html" title="GtkScale"><span class="type">GtkScale</span></a>.</p>
<div class="refsect3">
<a name="gtk-scale-new.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>orientation</p></td>
<td class="parameter_description"><p>the scale’s orientation.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>adjustment</p></td>
<td class="parameter_description"><p>the <a class="link" href="GtkAdjustment.html" title="GtkAdjustment"><span class="type">GtkAdjustment</span></a> which sets the range
of the scale, or <code class="literal">NULL</code> to create a new adjustment. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-scale-new.returns"></a><h4>Returns</h4>
<p> a new <a class="link" href="GtkScale.html" title="GtkScale"><span class="type">GtkScale</span></a></p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-scale-new-with-range"></a><h3>gtk_scale_new_with_range ()</h3>
<pre class="programlisting"><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> *
gtk_scale_new_with_range (<em class="parameter"><code><a class="link" href="gtk3-Standard-Enumerations.html#GtkOrientation" title="enum GtkOrientation"><span class="type">GtkOrientation</span></a> orientation</code></em>,
                          <em class="parameter"><code><span class="type">gdouble</span> min</code></em>,
                          <em class="parameter"><code><span class="type">gdouble</span> max</code></em>,
                          <em class="parameter"><code><span class="type">gdouble</span> step</code></em>);</pre>
<p>Creates a new scale widget with the given orientation that lets the
user input a number between <em class="parameter"><code>min</code></em>
 and <em class="parameter"><code>max</code></em>
 (including <em class="parameter"><code>min</code></em>
 and <em class="parameter"><code>max</code></em>
)
with the increment <em class="parameter"><code>step</code></em>
.  <em class="parameter"><code>step</code></em>
 must be nonzero; it’s the distance
the slider moves when using the arrow keys to adjust the scale
value.</p>
<p>Note that the way in which the precision is derived works best if <em class="parameter"><code>step</code></em>

is a power of ten. If the resulting precision is not suitable for your
needs, use <a class="link" href="GtkScale.html#gtk-scale-set-digits" title="gtk_scale_set_digits ()"><code class="function">gtk_scale_set_digits()</code></a> to correct it.</p>
<div class="refsect3">
<a name="gtk-scale-new-with-range.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>orientation</p></td>
<td class="parameter_description"><p>the scale’s orientation.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>min</p></td>
<td class="parameter_description"><p>minimum value</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>max</p></td>
<td class="parameter_description"><p>maximum value</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>step</p></td>
<td class="parameter_description"><p>step increment (tick size) used with keyboard shortcuts</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-scale-new-with-range.returns"></a><h4>Returns</h4>
<p> a new <a class="link" href="GtkScale.html" title="GtkScale"><span class="type">GtkScale</span></a></p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-scale-set-digits"></a><h3>gtk_scale_set_digits ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_scale_set_digits (<em class="parameter"><code><a class="link" href="GtkScale.html" title="GtkScale"><span class="type">GtkScale</span></a> *scale</code></em>,
                      <em class="parameter"><code><span class="type">gint</span> digits</code></em>);</pre>
<p>Sets the number of decimal places that are displayed in the value. Also
causes the value of the adjustment to be rounded to this number of digits,
so the retrieved value matches the displayed one, if <a class="link" href="GtkScale.html#GtkScale--draw-value" title="The “draw-value” property"><span class="type">“draw-value”</span></a> is
<code class="literal">TRUE</code> when the value changes. If you want to enforce rounding the value when
<a class="link" href="GtkScale.html#GtkScale--draw-value" title="The “draw-value” property"><span class="type">“draw-value”</span></a> is <code class="literal">FALSE</code>, you can set <a class="link" href="GtkRange.html#GtkRange--round-digits" title="The “round-digits” property"><span class="type">“round-digits”</span></a> instead.</p>
<p>Note that rounding to a small number of digits can interfere with
the smooth autoscrolling that is built into <a class="link" href="GtkScale.html" title="GtkScale"><span class="type">GtkScale</span></a>. As an alternative,
you can use the <a class="link" href="GtkScale.html#GtkScale-format-value" title="The “format-value” signal"><span class="type">“format-value”</span></a> signal to format the displayed
value yourself.</p>
<div class="refsect3">
<a name="gtk-scale-set-digits.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>scale</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkScale.html" title="GtkScale"><span class="type">GtkScale</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>digits</p></td>
<td class="parameter_description"><p>the number of decimal places to display,
e.g. use 1 to display 1.0, 2 to display 1.00, etc</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-scale-set-draw-value"></a><h3>gtk_scale_set_draw_value ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_scale_set_draw_value (<em class="parameter"><code><a class="link" href="GtkScale.html" title="GtkScale"><span class="type">GtkScale</span></a> *scale</code></em>,
                          <em class="parameter"><code><span class="type">gboolean</span> draw_value</code></em>);</pre>
<p>Specifies whether the current value is displayed as a string next 
to the slider.</p>
<div class="refsect3">
<a name="gtk-scale-set-draw-value.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>scale</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkScale.html" title="GtkScale"><span class="type">GtkScale</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>draw_value</p></td>
<td class="parameter_description"><p><code class="literal">TRUE</code> to draw the value</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-scale-set-has-origin"></a><h3>gtk_scale_set_has_origin ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_scale_set_has_origin (<em class="parameter"><code><a class="link" href="GtkScale.html" title="GtkScale"><span class="type">GtkScale</span></a> *scale</code></em>,
                          <em class="parameter"><code><span class="type">gboolean</span> has_origin</code></em>);</pre>
<p>If <a class="link" href="GtkScale.html#GtkScale--has-origin" title="The “has-origin” property"><span class="type">“has-origin”</span></a> is set to <code class="literal">TRUE</code> (the default), the scale will
highlight the part of the trough between the origin (bottom or left side)
and the current value.</p>
<div class="refsect3">
<a name="gtk-scale-set-has-origin.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>scale</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkScale.html" title="GtkScale"><span class="type">GtkScale</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>has_origin</p></td>
<td class="parameter_description"><p><code class="literal">TRUE</code> if the scale has an origin</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-3-4.html#api-index-3.4">3.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-scale-set-value-pos"></a><h3>gtk_scale_set_value_pos ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_scale_set_value_pos (<em class="parameter"><code><a class="link" href="GtkScale.html" title="GtkScale"><span class="type">GtkScale</span></a> *scale</code></em>,
                         <em class="parameter"><code><a class="link" href="gtk3-Standard-Enumerations.html#GtkPositionType" title="enum GtkPositionType"><span class="type">GtkPositionType</span></a> pos</code></em>);</pre>
<p>Sets the position in which the current value is displayed.</p>
<div class="refsect3">
<a name="gtk-scale-set-value-pos.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>scale</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkScale.html" title="GtkScale"><span class="type">GtkScale</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>pos</p></td>
<td class="parameter_description"><p>the position in which the current value is displayed</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-scale-get-digits"></a><h3>gtk_scale_get_digits ()</h3>
<pre class="programlisting"><span class="returnvalue">gint</span>
gtk_scale_get_digits (<em class="parameter"><code><a class="link" href="GtkScale.html" title="GtkScale"><span class="type">GtkScale</span></a> *scale</code></em>);</pre>
<p>Gets the number of decimal places that are displayed in the value.</p>
<div class="refsect3">
<a name="gtk-scale-get-digits.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>scale</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkScale.html" title="GtkScale"><span class="type">GtkScale</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-scale-get-digits.returns"></a><h4>Returns</h4>
<p> the number of decimal places that are displayed</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-scale-get-draw-value"></a><h3>gtk_scale_get_draw_value ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_scale_get_draw_value (<em class="parameter"><code><a class="link" href="GtkScale.html" title="GtkScale"><span class="type">GtkScale</span></a> *scale</code></em>);</pre>
<p>Returns whether the current value is displayed as a string 
next to the slider.</p>
<div class="refsect3">
<a name="gtk-scale-get-draw-value.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>scale</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkScale.html" title="GtkScale"><span class="type">GtkScale</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-scale-get-draw-value.returns"></a><h4>Returns</h4>
<p> whether the current value is displayed as a string</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-scale-get-has-origin"></a><h3>gtk_scale_get_has_origin ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_scale_get_has_origin (<em class="parameter"><code><a class="link" href="GtkScale.html" title="GtkScale"><span class="type">GtkScale</span></a> *scale</code></em>);</pre>
<p>Returns whether the scale has an origin.</p>
<div class="refsect3">
<a name="gtk-scale-get-has-origin.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>scale</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkScale.html" title="GtkScale"><span class="type">GtkScale</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-scale-get-has-origin.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if the scale has an origin.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-4.html#api-index-3.4">3.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-scale-get-value-pos"></a><h3>gtk_scale_get_value_pos ()</h3>
<pre class="programlisting"><a class="link" href="gtk3-Standard-Enumerations.html#GtkPositionType" title="enum GtkPositionType"><span class="returnvalue">GtkPositionType</span></a>
gtk_scale_get_value_pos (<em class="parameter"><code><a class="link" href="GtkScale.html" title="GtkScale"><span class="type">GtkScale</span></a> *scale</code></em>);</pre>
<p>Gets the position in which the current value is displayed.</p>
<div class="refsect3">
<a name="gtk-scale-get-value-pos.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>scale</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkScale.html" title="GtkScale"><span class="type">GtkScale</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-scale-get-value-pos.returns"></a><h4>Returns</h4>
<p> the position in which the current value is displayed</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-scale-get-layout"></a><h3>gtk_scale_get_layout ()</h3>
<pre class="programlisting"><span class="returnvalue">PangoLayout</span> *
gtk_scale_get_layout (<em class="parameter"><code><a class="link" href="GtkScale.html" title="GtkScale"><span class="type">GtkScale</span></a> *scale</code></em>);</pre>
<p>Gets the <span class="type">PangoLayout</span> used to display the scale. The returned
object is owned by the scale so does not need to be freed by
the caller.</p>
<div class="refsect3">
<a name="gtk-scale-get-layout.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>scale</p></td>
<td class="parameter_description"><p>A <a class="link" href="GtkScale.html" title="GtkScale"><span class="type">GtkScale</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-scale-get-layout.returns"></a><h4>Returns</h4>
<p>the <span class="type">PangoLayout</span> for this scale,
or <code class="literal">NULL</code> if the <a class="link" href="GtkScale.html#GtkScale--draw-value" title="The “draw-value” property"><span class="type">“draw-value”</span></a> property is <code class="literal">FALSE</code>. </p>
<p><span class="annotation">[<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-scale-get-layout-offsets"></a><h3>gtk_scale_get_layout_offsets ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_scale_get_layout_offsets (<em class="parameter"><code><a class="link" href="GtkScale.html" title="GtkScale"><span class="type">GtkScale</span></a> *scale</code></em>,
                              <em class="parameter"><code><span class="type">gint</span> *x</code></em>,
                              <em class="parameter"><code><span class="type">gint</span> *y</code></em>);</pre>
<p>Obtains the coordinates where the scale will draw the 
<span class="type">PangoLayout</span> representing the text in the scale. Remember
when using the <span class="type">PangoLayout</span> function you need to convert to
and from pixels using <code class="function">PANGO_PIXELS()</code> or <span class="type">PANGO_SCALE</span>. </p>
<p>If the <a class="link" href="GtkScale.html#GtkScale--draw-value" title="The “draw-value” property"><span class="type">“draw-value”</span></a> property is <code class="literal">FALSE</code>, the return 
values are undefined.</p>
<div class="refsect3">
<a name="gtk-scale-get-layout-offsets.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>scale</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkScale.html" title="GtkScale"><span class="type">GtkScale</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>x</p></td>
<td class="parameter_description"><p>location to store X offset of layout, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>y</p></td>
<td class="parameter_description"><p>location to store Y offset of layout, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-scale-add-mark"></a><h3>gtk_scale_add_mark ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_scale_add_mark (<em class="parameter"><code><a class="link" href="GtkScale.html" title="GtkScale"><span class="type">GtkScale</span></a> *scale</code></em>,
                    <em class="parameter"><code><span class="type">gdouble</span> value</code></em>,
                    <em class="parameter"><code><a class="link" href="gtk3-Standard-Enumerations.html#GtkPositionType" title="enum GtkPositionType"><span class="type">GtkPositionType</span></a> position</code></em>,
                    <em class="parameter"><code>const <span class="type">gchar</span> *markup</code></em>);</pre>
<p>Adds a mark at <em class="parameter"><code>value</code></em>
.</p>
<p>A mark is indicated visually by drawing a tick mark next to the scale,
and GTK+ makes it easy for the user to position the scale exactly at the
marks value.</p>
<p>If <em class="parameter"><code>markup</code></em>
 is not <code class="literal">NULL</code>, text is shown next to the tick mark.</p>
<p>To remove marks from a scale, use <a class="link" href="GtkScale.html#gtk-scale-clear-marks" title="gtk_scale_clear_marks ()"><code class="function">gtk_scale_clear_marks()</code></a>.</p>
<div class="refsect3">
<a name="gtk-scale-add-mark.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>scale</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkScale.html" title="GtkScale"><span class="type">GtkScale</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>the value at which the mark is placed, must be between
the lower and upper limits of the scales’ adjustment</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>position</p></td>
<td class="parameter_description"><p>where to draw the mark. For a horizontal scale, <a class="link" href="gtk3-Standard-Enumerations.html#GTK-POS-TOP:CAPS"><span class="type">GTK_POS_TOP</span></a>
and <a class="link" href="gtk3-Standard-Enumerations.html#GTK-POS-LEFT:CAPS"><code class="literal">GTK_POS_LEFT</code></a> are drawn above the scale, anything else below.
For a vertical scale, <a class="link" href="gtk3-Standard-Enumerations.html#GTK-POS-LEFT:CAPS"><span class="type">GTK_POS_LEFT</span></a> and <a class="link" href="gtk3-Standard-Enumerations.html#GTK-POS-TOP:CAPS"><code class="literal">GTK_POS_TOP</code></a> are drawn to
the left of the scale, anything else to the right.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>markup</p></td>
<td class="parameter_description"><p>Text to be shown at the mark, using Pango markup, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2.16</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-scale-clear-marks"></a><h3>gtk_scale_clear_marks ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_scale_clear_marks (<em class="parameter"><code><a class="link" href="GtkScale.html" title="GtkScale"><span class="type">GtkScale</span></a> *scale</code></em>);</pre>
<p>Removes any marks that have been added with <a class="link" href="GtkScale.html#gtk-scale-add-mark" title="gtk_scale_add_mark ()"><code class="function">gtk_scale_add_mark()</code></a>.</p>
<div class="refsect3">
<a name="gtk-scale-clear-marks.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>scale</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkScale.html" title="GtkScale"><span class="type">GtkScale</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<p class="since">Since: 2.16</p>
</div>
</div>
<div class="refsect1">
<a name="GtkScale.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="GtkScale-struct"></a><h3>struct GtkScale</h3>
<pre class="programlisting">struct GtkScale;</pre>
</div>
</div>
<div class="refsect1">
<a name="GtkScale.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="GtkScale--digits"></a><h3>The <code class="literal">“digits”</code> property</h3>
<pre class="programlisting">  “digits”                   <span class="type">int</span></pre>
<p>The number of decimal places that are displayed in the value.</p>
<p>Owner: GtkScale</p>
<p>Flags: Read / Write</p>
<p>Allowed values: [-1,64]</p>
<p>Default value: 1</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkScale--draw-value"></a><h3>The <code class="literal">“draw-value”</code> property</h3>
<pre class="programlisting">  “draw-value”               <span class="type">gboolean</span></pre>
<p>Whether the current value is displayed as a string next to the slider.</p>
<p>Owner: GtkScale</p>
<p>Flags: Read / Write</p>
<p>Default value: TRUE</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkScale--has-origin"></a><h3>The <code class="literal">“has-origin”</code> property</h3>
<pre class="programlisting">  “has-origin”               <span class="type">gboolean</span></pre>
<p>Whether the scale has an origin.</p>
<p>Owner: GtkScale</p>
<p>Flags: Read / Write</p>
<p>Default value: TRUE</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkScale--value-pos"></a><h3>The <code class="literal">“value-pos”</code> property</h3>
<pre class="programlisting">  “value-pos”                <a class="link" href="gtk3-Standard-Enumerations.html#GtkPositionType" title="enum GtkPositionType"><span class="type">GtkPositionType</span></a></pre>
<p>The position in which the current value is displayed.</p>
<p>Owner: GtkScale</p>
<p>Flags: Read / Write</p>
<p>Default value: GTK_POS_TOP</p>
</div>
</div>
<div class="refsect1">
<a name="GtkScale.style-property-details"></a><h2>Style Property Details</h2>
<div class="refsect2">
<a name="GtkScale--s-slider-length"></a><h3>The <code class="literal">“slider-length”</code> style property</h3>
<pre class="programlisting">  “slider-length”            <span class="type">int</span></pre>
<p>Length of scale's slider.</p>
<div class="warning">
<p><code class="literal">GtkScale:slider-length</code> has been deprecated since version 3.20 and should not be used in newly-written code.</p>
<p>Use min-height/min-width CSS properties on the slider
  element instead. The value of this style property is ignored.</p>
</div>
<p>Owner: GtkScale</p>
<p>Flags: Read</p>
<p>Allowed values: &gt;= 0</p>
<p>Default value: 31</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkScale--s-value-spacing"></a><h3>The <code class="literal">“value-spacing”</code> style property</h3>
<pre class="programlisting">  “value-spacing”            <span class="type">int</span></pre>
<p>Space between value text and the slider/trough area.</p>
<div class="warning">
<p><code class="literal">GtkScale:value-spacing</code> has been deprecated since version 3.20 and should not be used in newly-written code.</p>
<p>Use min-height/min-width CSS properties on the value
  element instead. The value of this style property is ignored.</p>
</div>
<p>Owner: GtkScale</p>
<p>Flags: Read</p>
<p>Allowed values: &gt;= 0</p>
<p>Default value: 2</p>
</div>
</div>
<div class="refsect1">
<a name="GtkScale.signal-details"></a><h2>Signal Details</h2>
<div class="refsect2">
<a name="GtkScale-format-value"></a><h3>The <code class="literal">“format-value”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">char</span>*
user_function (<a class="link" href="GtkScale.html" title="GtkScale"><span class="type">GtkScale</span></a> *scale,
               <span class="type">double</span>    value,
               <span class="type">gpointer</span>  user_data)</pre>
<p>Signal which allows you to change how the scale value is displayed.
Connect a signal handler which returns an allocated string representing

<em class="parameter"><code>value</code></em>
. That string will then be used to display the scale's value.</p>
<p>If no user-provided handlers are installed, the value will be displayed on
its own, rounded according to the value of the <a class="link" href="GtkScale.html#GtkScale--digits" title="The “digits” property"><span class="type">“digits”</span></a> property.</p>
<p>Here's an example signal handler which displays a value 1.0 as
with "--&gt;1.0&lt;--".</p>
<div class="informalexample">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2
3
4
5
6
7</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="k">static</span> <span class="n">gchar</span><span class="o">*</span>
<span class="n">format_value_callback</span> <span class="p">(</span><span class="n">GtkScale</span> <span class="o">*</span><span class="n">scale</span><span class="p">,</span>
                       <span class="n">gdouble</span>   <span class="n">value</span><span class="p">)</span>
<span class="p">{</span>
  <span class="k">return</span> <span class="nf">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;--&gt;\%0.*g&lt;--&quot;</span><span class="p">,</span>
                          <span class="n">gtk_scale_get_digits</span> <span class="p">(</span><span class="n">scale</span><span class="p">),</span> <span class="n">value</span><span class="p">);</span>
 <span class="p">}</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

<p></p>
<div class="refsect3">
<a name="GtkScale-format-value.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>scale</p></td>
<td class="parameter_description"><p>the object which received the signal</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>the value to format</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="GtkScale-format-value.returns"></a><h4>Returns</h4>
<p> allocated string representing <em class="parameter"><code>value</code></em>
</p>
</div>
<p>Flags: Run Last</p>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.33.1</div>
</body>
</html>